package com.industrial.app.service;



import com.industrial.app.domain.BizIndustrialValueAddedByCity;
import com.industrial.app.domain.request.BizIndustrialValueAddedByCityRequest;
import com.industrial.common.core.web.domain.AjaxResult;

import java.util.List;

/**
 * 分市工业增加值Service接口
 *
 * @author SangGuangCan
 * @date 2023-12-27
 */
public interface IBizIndustrialValueAddedByCityService
{
    /**
     * 查询分市工业增加值
     *
     * @param baseId 分市工业增加值主键
     * @return 分市工业增加值
     */
    public BizIndustrialValueAddedByCity selectBizIndustrialValueAddedByCityByBaseId(String baseId);

    /**
     * 查询分市工业增加值列表
     *
     * @param bizIndustrialValueAddedByCity 分市工业增加值
     * @return 分市工业增加值集合
     */
    public List<BizIndustrialValueAddedByCity> selectBizIndustrialValueAddedByCityList(BizIndustrialValueAddedByCity bizIndustrialValueAddedByCity);

    /**
     * 新增分市工业增加值
     *
     * @param bizIndustrialValueAddedByCity 分市工业增加值
     * @return 结果
     */
    public int insertBizIndustrialValueAddedByCity(BizIndustrialValueAddedByCity bizIndustrialValueAddedByCity);

    /**
     * 修改分市工业增加值
     *
     * @param bizIndustrialValueAddedByCity 分市工业增加值
     * @return 结果
     */
    public int updateBizIndustrialValueAddedByCity(BizIndustrialValueAddedByCity bizIndustrialValueAddedByCity);

    /**
     * 批量删除分市工业增加值
     *
     * @param baseIds 需要删除的分市工业增加值主键集合
     * @return 结果
     */
    public int deleteBizIndustrialValueAddedByCityByBaseIds(String[] baseIds);

    /**
     * 删除分市工业增加值信息
     *
     * @param baseId 分市工业增加值主键
     * @return 结果
     */
    public int deleteBizIndustrialValueAddedByCityByBaseId(String baseId);

    /**
     * 查询分市工业增加值列表
     * @param request
     * @return
     */
    List<BizIndustrialValueAddedByCity> getIndustrialValueAddedByCityList(BizIndustrialValueAddedByCityRequest request);

    /**
     * <p>
     *     查询数据库中数据的日期(year_month字段)并进行去重复操作<br/>
     *     主要用于的是APP端左上角的日期过滤
     * </p>
     * @return
     */
    List<String> getUniqueDatesFromDatabase();

    boolean transferDataInOneClick();

    void clearAllTableData();

    /**
     * <p>
     *     导入分市工业增加值数据
     * </p>
     * @param yearMonth 月份
     * @param absoluteExcelPath 上传的Excel文件
     */
    AjaxResult importExcel(String absoluteExcelPath, String yearMonth);

    List<BizIndustrialValueAddedByCity> selectBizIndustrialValueAddedByCityListNoParams();
}
